home *** CD-ROM | disk | FTP | other *** search
Wrap
const STATE_START=Components.interfaces.nsIWebProgressListener.STATE_START; const STATE_STOP=Components.interfaces.nsIWebProgressListener.STATE_STOP; var NewTabKing={ version:"3.1.3", customAdSenseChannel:false, adSenseChannel:"partner-pub-0262891402493658:mqkypu-b0gi", partnerName:'ntk-partner', MY_ID:"{FC5BAC7D-D696-4ba6-B913-CF8F000C33DF}", isFirefox3:false, ntkWindowOn:false, ntkWindow:null, ntkTabPerfOn:true, prefs:null, recentTabsArr: new Array(), proactiveNTKClose:false, maxRecentTabsOpt:8,ss:null,em:null,historyService:null,thumbnailsRefreshHrs:12,loaderBox:null,loaderBrowser:null,globalTab:null,globalActiveTab:null,refreshEveryXTabs:40,mystrings:Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService).createBundle("chrome://newtabking/locale/newtabking.properties"), getUsageCnt:function(){return NewTabKing.prefs.getIntPref("usageCnt")}, setUsageCnt:function(a){NewTabKing.prefs.setIntPref("usageCnt",a)}, SettingChange:function(a){ if (NewTabKing.ntkTabPerfOn) { setTimeout("NewTabKing.initNTKPage(-1);",200); } setTimeout("NewTabKing.TabSelected(1);",777); }, replaceBrowser: function () { var c, d, i; var b = document.createElement("hbox"); b.setAttribute("id", "ntkLoaderBox"); b.setAttribute("style", "overflow: hidden; visibility: hidden;"); b.setAttribute("flex", "1"); b.setAttribute("height", "0"); b.setAttribute("maxheight", "0"); b.setAttribute("minheight", "0"); var e = document.createElement("vbox"); e.setAttribute("id", "ntkLoaderSubBox"); // e.setAttribute("id", "ntkLoaderSubBox"); e.setAttribute("flex", "0"); b.appendChild(e); document.documentElement.appendChild(b); i = "http://www.sun.com"; var k; k = document.createElement("iframe"); // browser // k.setAttribute("class", "ntkBrowser"); k.setAttribute("type", "content"); k.setAttribute("width", "100%"); k.setAttribute("height", "100%"); k.setAttribute("disablehistory", "true"); k.setAttribute("flex", "1"); k.setAttribute("id", "ntkLoaderBrowser"); var j = "800"; var a = "600"; var g = document.getElementById("ntkLoaderSubBox"); if (g.firstChild) { g.replaceChild(k, g.firstChild) } else { g.appendChild(k) } /*k.addEventListener("pageshow", ntkBackgroundBrowserListener, true); k.addEventListener("pagehide", ntkBackgroundBrowserListener, true); k.addEventListener("load", ntkBackgroundBrowserListener, true); k.addEventListener("unload", ntkBackgroundBrowserListener, true); k.addEventListener("beforeunload", ntkBackgroundBrowserListener, true); k.addEventListener("DOMSubtreeModified", ntkBackgroundBrowserListener, true); k.addEventListener("DOMLinkAdded", ntkBackgroundBrowserListener, true); k.addEventListener("DOMContentLoaded", ntkBackgroundBrowserListener, true); if (k.contentDocument) { k.contentDocument.addEventListener("DOMContentLoaded", ntkBackgroundBrowserListener, true) } ntkBackgroundBrowserListener.startTime = (new Date()).getTime(); ntkBackgroundBrowserListener.captureStarted();*/ k.docShell.allowAuth = false; k.docShell.allowJavascript = false; k.docShell.allowPlugins = false; k.mIconURL = null; g.setAttribute("width", j); g.setAttribute("minwidth", j); g.setAttribute("maxwidth", j); g.setAttribute("height", a); g.setAttribute("minheight", a); g.setAttribute("maxheight", a); g.style.width = j + "px !important"; g.style.maxWidth = g.style.width; g.style.minWidth = g.style.width; g.style.height = a + "px !important"; g.style.maxHeight = g.style.height; g.style.minHeight = g.style.height; k.setAttribute("src", "http://www.sun.com"); // "chrome://newtabking/content/ntk_out.htm"); var tabbrowser = gBrowser; //alert ( tabbrowser.tabContainer.childNodes[0] ); /* x=tabbrowser.tabContainer.childNodes[0]; alert (x.nodeName); x=tabbrowser.tabContainer.childNodes[1]; alert (x.nodeName); x=tabbrowser.tabContainer.childNodes[1].appendChild(k); */ //while (gBrowser.contentDocument.body.childNodes[0])) {} gBrowser.getBrowserAtIndex(0).loadURI('about:blank',null,null); b.setAttribute("style", "overflow: scroll; visibility: show;"); // gBrowser.contentDocument.body.appendChild(b); return; alert(gBrowser.contentDocument.body.childNodes[0]); alert(gBrowser.contentDocument.body.childNodes[1]); alert(gBrowser.contentDocument.body.childNodes[2]); alert(gBrowser.contentDocument.body.childNodes[3]); gBrowser.contentDocument.body.appendChild(k); return; var out=''; // alert (x.length); for (var ii=0;ii<x.length;ii++){ out = out+ (x[ii].nodeName); out =out+ (": "); out =out+(x[ii].childNodes[0].nodeValue); out =out+("<br />"); } alert(out); // tabbrowser.tabContainer.childNodes[0].appendChild(k); // gBrowser.getBrowserAtIndex(0)= k; }, initNTKPage:function(b){ //if (gBrowser.browsers.length <2) return; var a=NewTabKing.globalTab; if(b==0){NewTabKing.globalTab=gBrowser.addTab("chrome://newtabking/content/newtabking2.htm")} else{ var c=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/ntk_out.htm"); if(c.exists()){NewTabKing.globalTab=gBrowser.addTab("chrome://newtabking/content/ntk_out.htm")} else{NewTabKing.globalTab=gBrowser.addTab("chrome://newtabking/content/newtabking2.htm")} } NewTabKing.globalTab.collapsed=true; NewTabKing.globalTab.disabled=true; if(b==-1 && a!=null){NewTabKing.proactiveNTKClose=true;gBrowser.removeTab(a);NewTabKing.proactiveNTKClose=false;} }, initToolbars:function(){ var b=document.getElementById("nav-bar"); b.hidden=false; var a="ntk-toolbarbutton"; NewTabKing.insertToolbarItem(a); NewTabKing.insertIntoDefaultSet(a) }, insertToolbarItem:function(b){ var a=document.getElementById("nav-bar"); var d="urlbar-container"; var f=document.getElementById(d); if(!f){var e=a.getAttribute("currentset").split(","); d=e[e.length-1]; f=document.getElementById(d) } if(f&&document.getElementById(b)==null){ var c=a.insertItem(b,f.prevSibling); a.setAttribute("currentset",a.currentSet) } }, insertIntoDefaultSet:function(b){var a=document.getElementById("nav-bar");var g=a.getAttribute("defaultset");var f=g.split(",");var e;for(var d=0;d!=f.length;++d){if(f[d]=="urlbar-container"){e=d;break}}if(!e){e=f.length}f.splice(e,0,b);var c=f.join(",");a.setAttribute("defaultset",c)},checkVersion:function(){var b=Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULAppInfo);var a=Components.classes["@mozilla.org/xpcom/version-comparator;1"].getService(Components.interfaces.nsIVersionComparator);if(a.compare(b.platformVersion,"1.9a1")>=0){NewTabKing.isFirefox3=true}}, moveWin:function(left,top) { NewTabKing.ntkWindow.moveTo(left, top); }, resizeTo:function(width,height) { NewTabKing.ntkWindow.resizeTo(width, height); }, calcWindowPosition : function() { if (NewTabKing.ntkWindowOn==false) { NewTabKing.resizeTo(1,1); NewTabKing.moveWin(0,0); return; } var currentBrowser = gBrowser.getBrowserAtIndex(0); //NewTabKing.workAroundHeightDelta = currentBrowser.boxObject.screenY NewTabKing.moveWin(currentBrowser.boxObject.screenX, currentBrowser.boxObject.screenY); NewTabKing.resizeTo(currentBrowser.boxObject.width, currentBrowser.boxObject.height); /* document.getElementById('ntk_html').width = currentBrowser.boxObject.width; document.getElementById('ntk_html').height = currentBrowser.boxObject.height; */ /* case "fitToBrowser": deltaX = 0; deltaY = 0; if ((foxTab.interactiveFullScreenWorkaround==true) && (foxTab.PAGES_MODE!=foxTab.MODE_NEW_TAB)){ f.windowBoxObject.left = 0 f.windowBoxObject.top = 0 f.windowBoxObject.width = window.screen.width f.windowBoxObject.height = window.innerHeight f.workAroundHeightDelta = 0 } */ /* case "fitToBrowser": deltaX = 0; deltaY = 0; if ((foxTab.quickFullScreenWorkaround==true) && (foxTab.PAGES_MODE!=foxTab.MODE_NEW_TAB)){ f.windowBoxObject.left = 0 f.windowBoxObject.top = 0 f.windowBoxObject.width = window.screen.width f.windowBoxObject.height = window.screen.height f.workAroundHeightDelta = 0 } */ /* if (foxTab.OS==foxTab.MAC) { f.windowBoxObject.left -= 5; } */ return; }, taskbarLoad:function(){ /* var tabsList = document.getElementById("ntk_tabs_list") tabsList.handleCtrlTab = false; tabsList.handleCtrlPageUpDown = false; var ntkIframe = document.getElementById("ntk_iframe") ntkIframe.setAttribute('src', "chrome://newtabking/content/newtabking2.htm"); return;*/ //////////////////////// var uc = NewTabKing.getUsageCnt(); uc++; if(uc>=NewTabKing.refreshEveryXTabs){uc=0;} NewTabKing.setUsageCnt(uc); var c=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/ntk_out.htm"); if(!c.exists() || uc==0) { gBrowser.loadURI("chrome://newtabking/content/ntk_out.htm",null,null,null,false,false); } else { gBrowser.loadURI("chrome://newtabking/content/newtabking2.htm",null,null,null,false,false); } var newLocationChange=window.URLBarSetURI.toString(); newLocationChange=newLocationChange.replace(/aURI.spec == \"about:blank\"/g,'aURI.spec == "about:blank" || (aURI.spec.indexOf("chrome://newtabking/content") == 0)'); newLocationChange=newLocationChange.replace(/uri.spec == \"about:blank\"/g,'uri.spec == "about:blank" || (uri.spec.indexOf("chrome://newtabking/content") == 0)'); setTimeout("NewTabKing.TabSelected(1);",777); }, flattedURL:function(c){var d=c.indexOf("://");var b=c.substr(0,d+3);var a=c.replace(b,""); a = a.replace(/[^a-zA-Z 0-9]+/g,''); //a=a.replace(/\%/g,"");a=a.replace(/\&/g,"");a=a.replace(/\*/g,"");a=a.replace(/\?/g,"");a=a.replace(/\[/g,"");a=a.replace(/\]/g,"");a=a.replace(/\</g,"");a=a.replace(/\>/g,"");a=a.replace(/\=/g,"");a=a.replace(/\+/g,"");a=a.replace(/\#/g,"");a=a.replace(/\'/g,"");a=a.replace(/\"/g,"");a=a.replace(/\\/g,"");a=a.replace(/\//g,"");a=a.replace(/\,/g,"");a=a.replace(/\./g,"");a=a.replace(/\:/g,"");a=a.replace(/\;/g,"");a=a.replace(/ /g,""); return a}, load:function(){ var urlbar = document.getElementById("urlbar"); if (urlbar!=null) { if (urlbar.readOnly) { return false; } } /*************************** NewTabKing.ntkWindow = window.open("chrome://newtabking/content/window.xul","ntk1", "width=1" +",height=1"+",top=0" +",left=10000"+ ",titlebar=no, chrome, alwaysRaised=yes,dependent,dialog"); var win_timeout = setTimeout(NewTabKing.moveWin, 1500, -20, 0); *****************************/ NewTabKing.prefs=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.ntk."); NewTabKing.ntkTabPerfOn = NewTabKing.prefs.getBoolPref("ntkTabPerfOn-pref"); if (NewTabKing.customAdSenseChannel) {NewTabKing.prefs.setCharPref("adSenseChannel", NewTabKing.adSenseChannel ); } try { var t1 = NewTabKing.prefs.getComplexValue("recentClosedPers", Components.interfaces.nsISupportsString).data // alert(t1); var t2 = t1.split(';'); for (var i=0;i<t2.length;i++) { if (t2[i]=='') t2[i] = null; NewTabKing.recentTabsArr[i]=t2[i]; } } catch (e) {} NewTabKing.ss=Components.classes["@mozilla.org/browser/sessionstore;1"].getService(Components.interfaces.nsISessionStore); NewTabKing.em=Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager); NewTabKing.historyService=Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsINavHistoryService); NewTabKing.checkVersion();if(NewTabKing.isFirefox3){ var newLocationChange=window.URLBarSetURI.toString(); newLocationChange=newLocationChange.replace(/aURI.spec == \"about:blank\"/g,'aURI.spec == "about:blank" || (aURI.spec.indexOf("chrome://newtabking/content") == 0)'); newLocationChange=newLocationChange.replace(/uri.spec == \"about:blank\"/g,'uri.spec == "about:blank" || (uri.spec.indexOf("chrome://newtabking/content") == 0)'); if(window.gInitialPages){ window.gInitialPages.push("chrome://newtabking/content/ntk_out.htm"); window.gInitialPages.push("chrome://newtabking/content/newtabking2.htm") } }else{} if(NewTabKing.prefs.getBoolPref("AmazonAffiliate")){ gBrowser.addProgressListener(ntk_urlBarListener,Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT); } // gBrowser.addTabsProgressListener(myTabsProgressListener); NewTabKing.thumbnailsRefreshHrs=NewTabKing.prefs.getIntPref("thumbnailsRefreshHrs");NewTabKing.maxRecentTabsOpt=NewTabKing.prefs.getIntPref("maxRecentClosedTabs"); getBrowser().addEventListener("TabClose",NewTabKing.TabRemoved,false); getBrowser().addEventListener("TabSelect",NewTabKing.TabSelected,false); /******************************************* window.addEventListener("resize" , NewTabKing.calcWindowPosition, false); document.getElementById("ntk_iframe_container").addEventListener("click", NewTabKing.onMouseClick, false); *********************************************************/ if ( NewTabKing.prefs.getBoolPref("loadInNewTab-pref")==true ) { if(window.TMP_BrowserOpenTab){ getBrowser().removeEventListener("NewTab",window.TMP_BrowserOpenTab,true); window.originalBrowserOpenTab=window.TMP_BrowserOpenTab; window.TMP_BrowserOpenTab=NewTabKing.BrowserOpenTab; getBrowser().addEventListener("NewTab",window.TMP_BrowserOpenTab,true) }else{if(window.TBP_BrowserOpenTab){ getBrowser().removeEventListener("NewTab",window.TBP_BrowserOpenTab,true); window.originalBrowserOpenTab=window.TBP_BrowserOpenTab; window.TBP_BrowserOpenTab=NewTabKing.BrowserOpenTab; getBrowser().addEventListener("NewTab",window.TBP_BrowserOpenTab,true) }else{ getBrowser().removeEventListener("NewTab",window.BrowserOpenTab,false); window.originalBrowserOpenTab=window.BrowserOpenTab; window.BrowserOpenTab=NewTabKing.BrowserOpenTab; getBrowser().addEventListener("NewTab",window.BrowserOpenTab,false) }} } if(NewTabKing.prefs.getBoolPref("loadInNewWindow-pref")){setTimeout(NewTabKing.checkNewBrowser,100,10)}var ntkVer;var newNTK;try{ntkVer=NewTabKing.prefs.getCharPref("version");newNTK=false}catch(e){newNTK=true}var fileY=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/ntk_out.htm");if(!fileY.exists()){NewTabKing.setUsageCnt(0)}if(NewTabKing.prefs.getBoolPref("ntkToolbar-pref")){NewTabKing.initToolbars()}if(ntkVer!=NewTabKing.version){NewTabKing.setUsageCnt(0);try{NewTabKing.prefs.getCharPref("guid")}catch(e){NewTabKing.prefs.setCharPref("guid",(((1+Math.random())*65536)|0).toString(16).substring(1)+"-"+(((1+Math.random())*65536)|0).toString(16).substring(1)+"-"+(((1+Math.random())*65536)|0).toString(16).substring(1)+"-"+(((1+Math.random())*65536)|0).toString(16).substring(1))}NewTabKing.prefs.setCharPref("version",NewTabKing.version);var tar; NewTabKing.prefs.setBoolPref("thumbsDone",false); NewTabKing.prefs.setIntPref("viewMode",0); if(newNTK){ tar="http://www.newtabking.com/firstrun.php";} else{tar="http://www.newtabking.com/whatsnew"+NewTabKing.version+".php"} if (NewTabKing.customAdSenseChannel) tar += '?p='+NewTabKing.partnerName; window.setTimeout(function(){gBrowser.selectedTab=gBrowser.addTab(tar)},3000)} var ff=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/ntk_out.htm"); if(!ff.exists()) { setTimeout(function() { gBrowser.tabContainer.advanceSelectedTab(99, false); var b=gBrowser.browsers.length; for (var i=b-1;i>=0;i--) { // alert(gBrowser.getBrowserAtIndex(i).currentURI.spec); if(gBrowser.getBrowserAtIndex(i).currentURI.spec.indexOf("chrome://newtabking")==0){ gBrowser.removeCurrentTab(); i=b-1; //gBrowser.removeTab(gBrowser.getBrowserAtIndex(i)); } else { gBrowser.tabContainer.advanceSelectedTab(-1, false); } } gBrowser.tabContainer.advanceSelectedTab(99, false); }, 2222); } var c = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); if (c.getBoolPref('browser.tabs.autoHide') ==false && getBrowser().mCurrentBrowser.clientWidth > 600) { if (NewTabKing.ntkTabPerfOn) {NewTabKing.initNTKPage(0); } } var focusIntro=NewTabKing.prefs.getIntPref("ntkfocusIntro"); if(focusIntro==10){ NewTabKing.prefs.setBoolPref("ntkfocus-pref",true); NewTabKing.prefs.setIntPref("ntkfocusIntro",11); }else{ if(focusIntro<10){focusIntro++;NewTabKing.prefs.setIntPref("ntkfocusIntro",focusIntro)}} var tmp_pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); var TMP_installed = false; try { var x = tmp_pref.getCharPref('extensions.{dc572301-7619-498c-a57d-39143191b318}.description'); TMP_installed = true; } catch (e) {} if(TMP_installed && NewTabKing.prefs.prefHasUserValue("ntkTabPerfOn-pref")== false) { NewTabKing.prefs.setBoolPref('ntkTabPerfOn-pref', false); } if (NewTabKing.prefs.getBoolPref('ntkStatusbar-pref')==false) document.getElementById('ntk-status-bar').style.display='none'; }, unload:function(){ if(NewTabKing.prefs.getBoolPref("AmazonAffiliate")){gBrowser.removeProgressListener(ntk_urlBarListener)} gBrowser.removeProgressListener(myTabsProgressListener); gBrowser.removeCurrentTab(); var t2=''; for (var i=0;i<NewTabKing.recentTabsArr.length;i++) { if (t2 != '') t2 += ';'; t2 += NewTabKing.recentTabsArr[i]; } var x = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); x.data = t2; NewTabKing.prefs.setComplexValue("recentClosedPers", Components.interfaces.nsISupportsString, x); }, onMouseClick : function(e) { if (e.target.id!="content") { e.stopPropagation(); e.preventDefault(); alert('2'); } }, close:function(){ if (NewTabKing.globalTab!=null) { NewTabKing.proactiveNTKClose=true;gBrowser.removeTab(NewTabKing.globalTab); NewTabKing.proactiveNTKClose=false;} NewTabKing.globalTab=null; }, printObject:function(a,b){var c="";for(var d in b){c+=(a+"."+d+"="+b[d]+"\n")}alert(c)}, checkNewBrowser:function(c){ var d=getBrowser().mCurrentBrowser.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow); var b=d.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation); if(!b.currentURI&&c){window.setTimeout(NewTabKing.checkNewBrowser,100,--c);return} var a=null; if("arguments" in window&&window.arguments[0]){ a=window.arguments[0]; } if (getBrowser().mCurrentBrowser.clientWidth < 600) { return; } var e=(a=="about:blank"); setTimeout("NewTabKing.TabSelected(1);",777); if(e&&(getBrowser().mTabs.length<3)&&(b.currentURI.spec=="about:blank")&&!b.canGoBack&&!b.canGoForward&&!getBrowser().mCurrentTab.hasAttribute("busy")){ var f=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/ntk_out.htm"); if(f.exists()){b.loadURI("chrome://newtabking/content/ntk_out.htm",null,null,null,null)} else{b.loadURI("chrome://newtabking/content/newtabking2.htm",null,null,null,null); NewTabKing.setUsageCnt(1)}getBrowser().mCurrentBrowser.userTypedValue=undefined} }, getClip:function(){var c=Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);if(!c){return false}var a=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);if(!a){return false}a.addDataFlavor("text/unicode");c.getData(a,c.kGlobalClipboard);var f=new Object();var b=new Object();try{a.getTransferData("text/unicode",f,b)}catch(d){return""}if(f){f=f.value.QueryInterface(Components.interfaces.nsISupportsString)}if(f){pastetext=f.data.substring(0,b.value/2)}return pastetext},clearClipboard:function(){const a=Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);a.copyString("")}, BrowserOpenTab:function(e){ /******************************* var newTab = gBrowser.addTab("about:blank"); gBrowser.selectedTab = newTab; NewTabKing.ntkWindowOn=true; var tabsList = document.getElementById("ntk_tabs_list") tabsList.selectedIndex = "1"; // tabsList.selectedIndex = "0"; NewTabKing.calcWindowPosition(); return true; *******************************/ var h; if(NewTabKing.prefs.getBoolPref("ntkClipboard")){ var g=NewTabKing.getClip(); if(g.substring(0,4)=="http"||g.substring(0,4)=="www."){ h=gBrowser.loadOneTab(g,null,null,null,false,false); NewTabKing.clearClipboard();return } } var d; var c=NewTabKing.getUsageCnt(); if (!NewTabKing.ntkTabPerfOn) { NewTabKing.initNTKPage(c); NewTabKing.globalTab.collapsed=false; NewTabKing.globalTab.disabled=false; gBrowser.selectedTab=NewTabKing.globalTab; h=NewTabKing.globalTab; NewTabKing.globalActiveTab=h; } else { if(NewTabKing.globalTab==null||c<=0){NewTabKing.initNTKPage(c)} NewTabKing.globalTab.collapsed=false; NewTabKing.globalTab.disabled=false; gBrowser.selectedTab=NewTabKing.globalTab; h=NewTabKing.globalTab; NewTabKing.globalActiveTab=h; var b=gBrowser.browsers.length; if(gBrowser.getBrowserAtIndex(b-1).currentURI.spec.indexOf("chrome://newtabking")!=0){ NewTabKing.initNTKPage(-1); NewTabKing.globalTab.collapsed=false; NewTabKing.globalTab.disabled=false; gBrowser.selectedTab=NewTabKing.globalTab } NewTabKing.initNTKPage(c); } h.linkedBrowser.userTypedValue=undefined; gURLBar.value=""; var a=NewTabKing.prefs.getBoolPref("ntkfocus-pref"); if(a){ setTimeout(function(){ var j=gBrowser.getBrowserForTab(h); if (j.contentDocument!=null && j.contentDocument.getElementById("searchboxy")!=null) { var i=j.contentDocument.getElementById("searchboxy"); i.focus() }},10) } else { if(gURLBar){setTimeout(function(){gURLBar.focus()},0)} } var f=gBrowser.getBrowserForTab(h); if(c==-1){c=0} c++; if(c>=NewTabKing.refreshEveryXTabs){c=0} NewTabKing.setUsageCnt(c); setTimeout(NewTabKing.checkThumbs,3333); setTimeout("NewTabKing.TabSelected(1);",777); }, checkThumbs:function(){try{var g=NewTabKing.prefs.getCharPref("thumbsUrls").split(";");var d=new Array();var h=new Array();var b,a;var j=new Date();var k;for(var c=0;c<g.length;c++){a=NewTabKing.flattedURL(g[c])+".png"; b=NewTabKing.em.getInstallLocation(NewTabKing.MY_ID).getItemFile(NewTabKing.MY_ID,"chrome/content/thumbnails/"+a); if(b.exists()){k=(j.getTime()-b.lastModifiedTime)/(1000*60*60)} if(!b.exists()||k>NewTabKing.thumbnailsRefreshHrs){d.push(a);h.push(g[c])} } ntkThumbs.startBackgroundLoad(h,d) }catch(f){} }, getHostofUrl:function(a){var b=Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI);b.spec=a;return b.host},getTabBlackList:function(){try{var a=NewTabKing.prefs.getCharPref("blackTablist")}catch(b){return[]}if(!a){return[]}return a.split(";")},isUrlDomainInBlackTabList:function(b,d){var a=NewTabKing.getHostofUrl(b);for(var c=0;c<d.length;c++){var e=NewTabKing.getHostofUrl(d[c]);if(a==e){return true}}return false}, getRecentlyCloseTabs:function(){ var m=NewTabKing.maxRecentTabsOpt; if(m!=0 && NewTabKing.ss.getClosedTabCount(window)!=0) { var l=NewTabKing.getTabBlackList(); var o=JSON.parse(NewTabKing.ss.getClosedTabData(window)); var a,r,f; var p,g,d; var h=false; for(var s=o.length-1;s>=0;s--){ a=o[s].state; r=(a.index||a.entries.length)-1; f=a.entries[r].url; if(f.substr(0,6)=="chrome" || f.substr(0,6)=="about:"){continue} var b=false; for(var q=o.length-1;q>s;q--){ p=o[q].state; g=(p.index||p.entries.length)-1; d=p.entries[g].url; if(d==f){b=true;break} } if(b==true){continue} if(NewTabKing.isUrlDomainInBlackTabList(f,l)){continue} var u=o[s].title; var t=u.substr(0,20); if(t!=u){u=t+"..."} NewTabKing.recentTabsArr.unshift(f+'::'+u); if (NewTabKing.recentTabsArr.length>100) NewTabKing.recentTabsArr.length= 100; for (var pos=1;pos<NewTabKing.recentTabsArr.length;pos++) { if (NewTabKing.recentTabsArr[pos]==null) continue; if ( NewTabKing.recentTabsArr[pos] == f+'::'+u ) {NewTabKing.recentTabsArr[pos] = null; } } h=true; } if(h==false){return""} } var c=NewTabKing.prefs.getBoolPref("recentlyCloseTabsId"); var k; if(c){k=true}else{k=false} var n='<div id="box2"><hr><table width=100% style="padding-right:10px"><tr><td><h4 align="left" style="padding:0 0 0 10px;margin:0 0 0 0">'; n=n+NewTabKing.mystrings.GetStringFromName("RecentlyClosedTabs")+"</h4></td><td align=right>"; n=n+'<img id="expCol1" src="'; if(k){n=n+"images/collapse.png"}else{n=n+"images/expand.png"} n=n+'" title='+NewTabKing.mystrings.GetStringFromName("ExpandCollapse")+'" onclick="expandCollapse(this,\'recentlyCloseTabsId\');" /></td></tr></table>'; n=n+'<span id="recentlyCloseTabsId" '; if(!k){n=n+' style="display:none" '}n=n+" >"; n=n+'<table style="padding-left: 10px;padding-right:10px;width:100%" cellpadding="0" cellspacing="0">'; var par,f , u, e; for (var pos=0;pos<NewTabKing.recentTabsArr.length;pos++) { if ( NewTabKing.recentTabsArr[pos]==null) continue; par = NewTabKing.recentTabsArr[pos].split('::'); f=par[0]; u=par[1]; var v=NewTabKing.getImage(f);//v=par[2]; if (f=="null" || v=="undefined") continue; n=n+('<tr class="popCell" width="100%" onmouseout="showDelTab('+pos+',0)" onmouseover="showDelTab('+pos+',1)"><td style="white-space: nowrap;" width="100%"> '); n=n+('<span class="thumbTitle">'); n+=' <a class="aSidebar" id="tabrow_'+pos+'" href="'+f+'" title="'+f+'" style="vertical-align:top" ><img height="15px" style="vertical-align:top" src="'; if(v){n=n+v}else{n=n+"images/df.png"} n=n+'" width="16px" border="0"> '+u+"</a>"; n=n+"</span></td><td>"; e="addHostToBlackTabList('"+NewTabKing.getHostofUrl(f)+"' ,"+pos+", "+NewTabKing.recentTabsArr.length+")"; n+=('<img align="right" onclick="'+e+'" class="delTabImg" id="deleteTabImg_'+pos+'" src="images/d.png" style="display:none;vertical-align:middle;padding-top:0px" title="Permanently remove '+NewTabKing.getHostofUrl(f)+' from recently closed tabs"/>'); n=n+("</td>"); n=n+("</tr>"); m--; if(m==0){break} } n=n+("</table></span></div>"); return n }, getImage:function(d){ try { if(!NewTabKing.historyService){return null} var e=NewTabKing.historyService.getNewQueryOptions(); var h=NewTabKing.historyService.getNewQuery(); var g=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); h.uri=g.newURI(d,"utf-8",null); var b=NewTabKing.historyService.executeQuery(h,e); var a=b.root;a.containerOpen=true; var c; if(a.childCount>0){ var f=a.getChild(0); if(f!=null&&f.icon!=null&&f.icon.spec!=null){c=f.icon.spec} else{c="images/df.png"} } a.containerOpen=false; return c } catch (e) { return "images/df.png"; } }, TabSelected:function(c){ /*********************** var detectAsBlankPage = false; var b=gBrowser.selectedBrowser; //if ((!c.target.linkedBrowser.webProgress.isLoadingDocument) && (c.target.linkedBrowser.currentURI.spec=="about:blank")) { if ((!b.webProgress.isLoadingDocument) && (b.currentURI.spec=="about:blank")) { //if(b.currentURI.spec=="about:blank"){ detectAsBlankPage = true; } if (detectAsBlankPage) { NewTabKing.ntkWindowOn = true; } else { NewTabKing.ntkWindowOn = false; } NewTabKing.calcWindowPosition(); return; **********************/ var b=gBrowser.selectedBrowser;if(b.currentURI.spec.indexOf("chrome://newtabking/content")==0){ var a=NewTabKing.getRecentlyCloseTabs(); var d=b.contentDocument.getElementById("recentTabsStub"); if(d!=null&&a!=""){ d.innerHTML=a; b.contentDocument.getElementById("sidebox-collapse").style.height = (b.contentDocument.getElementById("sidebox").clientHeight-20)+'px'; } } }, TabRemoved:function(h){ if (!NewTabKing.ntkTabPerfOn) return; if (NewTabKing.proactiveNTKClose) return; var e=gBrowser.getBrowserForTab(h.target); var g=gBrowser.browsers.length; var a; var c=""; if (g==3 && gBrowser.getBrowserAtIndex(g-1).currentURI.spec.indexOf("chrome://newtabking")>-1) { NewTabKing.proactiveNTKClose=true; gBrowser.removeTab(NewTabKing.globalTab); NewTabKing.proactiveNTKClose=false; NewTabKing.globalTab=null; return; } if( gBrowser.selectedBrowser==gBrowser.getBrowserAtIndex(g-2)&& gBrowser.getBrowserAtIndex(g-1).currentURI.spec.indexOf("chrome://newtabking")>-1){ gBrowser.tabContainer.advanceSelectedTab(-1,true);return } if( gBrowser.selectedBrowser==gBrowser.getBrowserAtIndex(g-1) && gBrowser.getBrowserAtIndex(g-2).currentURI.spec.indexOf("chrome://newtabking")>-1){ gBrowser.tabContainer.advanceSelectedTab(-1,true);return } if (gBrowser.selectedBrowser==gBrowser.getBrowserAtIndex(g-1)) { gBrowser.tabContainer.advanceSelectedTab(-1,true); } NewTabKing.initNTKPage(-1); return; } }; var ntk_urlBarListener={ prevURL:" ", QueryInterface:function(a){if(a.equals(Components.interfaces.nsIWebProgressListener)||a.equals(Components.interfaces.nsISupportsWeakReference)||a.equals(Components.interfaces.nsISupports)){return this}throw Components.results.NS_NOINTERFACE}, onStateChange:function(d,b,e,f){ if(e&STATE_START&&b!=null){ var c=b.name; if(ntk_urlBarListener.prevURL.indexOf("http://www.amazon")==-1&&c.indexOf("http://www.amazon")==0&&c.indexOf("&tag=")==-1){ var a="http://www.amazon.com/gp/redirect.html?ie=UTF8&location="+encodeURIComponent(c)+"&tag=netaki-20&linkCode=ur2&camp=1789&creative=9325"; gBrowser.loadURI(a,null,null,null,false,false) } } if(e&STATE_STOP&&b!=null){ var c=b.name; ntk_urlBarListener.prevURL=c } }, onLocationChange:function(b,a,c){}, onProgressChange:function(c,b,a,e,f,d){}, onStatusChange:function(b,a,d,c){}, onSecurityChange:function(b,a,c){} }; window.addEventListener("load",NewTabKing.load,false); window.addEventListener("unload",NewTabKing.unload,false); window.addEventListener("DOMWindowClose",NewTabKing.close,false); var myTabsProgressListener={ onLocationChange:function(c,d,b,a){}, onProgressChange:function(c,d,b,a,e,f,g){}, onSecurityChange:function(c,d,b,a){}, onStateChange:function(f,c,a,b,g){ if (!NewTabKing.ntkTabPerfOn) return; if(NewTabKing.globalTab!=null&&NewTabKing.globalActiveTab!=null){ if(a!=null&&a.name!="about:blank"){ var d=gBrowser.browsers.length; var e=gBrowser.getBrowserAtIndex(d-1).currentURI.spec; if(d>1&&e.indexOf("chrome://newtabking")==-1&&e.indexOf("about:blank")==-1){ NewTabKing.initNTKPage(-1); } } } }, onStatusChange:function(c,d,b,a,e){}, onRefreshAttempted:function(c,d,b,a,e){}, onLinkIconAvailable:function(a){} }; document.addEventListener("NTK_SettingChange",function(a){NewTabKing.SettingChange(a)},false,true);